
// // 1. 引入
// // 2. 创建axios实例
// // 3. 配置参数
// // 4. 请求拦截  相关拦截的配置
// // 5. 导出

// // 1. 引入
// import axios from "axios";  
// import { showSuccessToast, showFailToast } from 'vant';

// // let baseURL = 'http://develop.com'  // 直接说明是开发环境
// // let baseURL = 'http://production.com'  // 直接说明是生产环境
// let baseURL = import.meta.env.VITE_BASE_URL  // 或者用工具环境去获取基础路径

// // 2. 创建axios实例。
// //  创建实例的好处： 代码的体积会减小一点; 实例可迁移，方便复用
// const request = axios.create({
//     // baseURL:'/api'   // 之前配置了跨域，所以可以直接写/api
//     baseURL,
//     timeout:5000,
// })

// // 给实例添加请求拦截器
// request.interceptors.request.use(config=>{
//     config.headers.token = localStorage.getItem('token') || '';
//     return config;
// },(err)=>{
//     return Promise.reject(err);
// })

// // 给实例添加响应拦截器
// request.interceptors.response.use((res)=>{
//     // 响应中 如果有token就自动保存到 本地存储
//     if(res.data?.data?.token){
//         localStorage.setItem('token',res.data.data.token)
//     }
//     // 响应中 有message提示信息
//     if(res.data?.message){ // 如果成功，就显示成功的提示信息
//         res.data.code == 200 ?showSuccessToast(res.data.message) :showFailToast(res.data.message);
//     }
//     // 把后端数据提取出来给 then
//     return res.data
// },(err)=>{
//     console.log(err);
//     return Promise.reject(err);    
// })


// // 5. 导出
// // 后期使用这个实例发送请求，就会有上面的默认配置
// export default request;

// utils/request.ts

import axios from 'axios'

let baseURL = import.meta.env.VITE_BASE_URL
import { showSuccessToast, showFailToast } from 'vant'
//let baseURL = 'http://cxk.com'  // 开发环境 
// let  baseURL='httpL://production.com' // 线上环境
// 创建axios的一个实例
const request = axios.create({
  baseURL,
  timeout:5000,
})

// 给实例添加请求拦截器
request.interceptors.request.use(config=>{
  config.headers.token = localStorage.getItem('token')||'';
  return config;
},(err)=>{
  return Promise.reject(err)
})

// 给实例添加请求响应拦截器
request.interceptors.response.use((res)=>{
  // 响应内容中有token就自动存储到本地存储
  if(res.data?.data?.token){
    localStorage.setItem('token',res.data.data.token)
  }
  // 响应内容中有message提示信息
  if(res.data?.message){
    res.data.code == 200
      ? showSuccessToast(res.data.message)
      : showFailToast(res.data.message)

  }
  // 把后端数据提前出来给then
  return res.data
},(err)=>{
  console.log(err);
  return Promise.reject(err)
})

// 后期使用这个实例发送请求，就会有上面的默认配置
export default request;